package com.yfp.goods.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yfp.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 套餐表(Combo)实体类
 *
 * 
 * @since 2023-12-27 13:33:24
 */
@Data
@Schema(title = "套餐")
public class Combo extends BaseEntity implements Serializable {
    private static final long serialVersionUID = -35704055361581455L;
    /**
     * 套餐id
     */
    @Schema(title = "套餐id")
    private String comboId;
    /**
     * 套餐名称
     */
    @Schema(title = "套餐名称")
    private String name;
    /**
     * 套餐标签
     */
    @Schema(title = "套餐标签")
    private String tagId;

    /**
     * 套餐标签
     */
    @Schema(title = "套餐标签")
    private String tagName;
    /**
     * 缩略图
     */
    @Schema(title = "缩略图")
    private String thumb;

    /**
     * 缩略图
     */
    @Schema(title = "缩略图")
    private String thumbUrl;
    /**
     * 保质期
     */
    @Schema(title = "保质期")
    private Integer expireDay;
    /**
     * 加热时长（秒）
     */
    @Schema(title = "加热时长（秒）")
    private Integer heatTime;
    /**
     * 创建时间
     */
    @Schema(title = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 创建时间查询
     */
    @Schema(title = "创建时间查询")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTimeBegin;

    @Schema(title = "创建时间查询")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTimeEnd;

    /**
     * 更新时间
     */
    @Schema(title = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    /**
     * 套餐视频
     */
    @Schema(title = "套餐视频")
    private String videoId;
    /**
     * 小程序价格
     */
    @Schema(title = "小程序价格")
    private String miniPrice;

    @Schema(title = "最小小程序价")
    private String minMiniPrice;

    @Schema(title = "最大小程序价")
    private String maxMiniPrice;
    /**
     * 会员价
     */
    @Schema(title = "会员价")
    private String vipPrice;

    @Schema(title = "最小会员价")
    private String minVipPrice;

    @Schema(title = "最大会员价")
    private String maxVipPrice;
    /**
     * 成本价
     */
    @Schema(title = "成本价")
    private String costPrice;

    @Schema(title = "最小成本价")
    private String minCostPrice;

    @Schema(title = "最大成本价")
    private String maxCostPrice;
    /**
     * 套餐价格
     */
    @Schema(title = "套餐价格")
    private String salePrice;

    @Schema(title = "最小套餐价")
    private String minSalePrice;

    @Schema(title = "最大套餐价")
    private String maxSalePrice;

    @Schema(title = "是否上下架 1-上架/0-下架")
    private Integer shelf;

    /**
     * 公司id
     */
    @Schema(title = "公司id")
    private String companyId;

    /**
     * 公司id
     */
    @Schema(title = "公司id列表")
    private List<String> companyIds;

    /**
     * 是否上架团餐  1上架/0下架
     */
    @Schema(title = "是否上架团餐  1上架/0下架")
    private Integer groupShelf;

    /**
     * 口味（1-不辣 2-微辣  3-中辣  4-麻辣）
     */
    @Schema(title = "口味（1-不辣 2-微辣  3-中辣  4-麻辣）")
    private String taste;

    @Schema(title = "套餐详情图")
    private String comboInfoImg;

    @Schema(title = "能量")
    private String energy;

    @Schema(title = "能量NRV")
    private String energyNrv;

    @Schema(title = "蛋白质")
    private String protein;

    @Schema(title = "蛋白质NRV")
    private String proteinNrv;

    @Schema(title = "脂肪")
    private String fat;

    @Schema(title = "脂肪NRV")
    private String fatNrv;

    @Schema(title = "钠")
    private String sodium;

    @Schema(title = "钠NRV")
    private String sodiumNrv;

    @Schema(title = "碳水化合物")
    private String carbohydrate;

    @Schema(title = "碳水化合物NRV")
    private String carbohydrateNrv;

    @Schema(title = "城市名称")
    private String cityName;

    @Schema(title = "部门id")
    private Long deptId;

    /**
     * 重量
     */
    @Schema(title = "重量")
    private Integer weight;

    /**
     * 热量
     */
    @Schema(title = "热量")
    private Integer kcal;

}

